Space-Reduction Strategies for Model Checking Dynamic Software
نویسندگان
چکیده
Effective model-checking of modern object-oriented software systems requires providing support for program features such as dynamically created threads, heapallocated objects and garbage collection. These features have often proven problematic to treat using many previous model-checking frameworks that do not provide sophisticated heap representations and optimizations. In this paper, we define a flexible framework for combined heap and thread symmetry reductions in explicit-state model checking that can be tuned to trade run-time overhead for precision. In addition, we describe various strategies for duplication-reducing state-space encodings for object-oriented heap structures. We have implemented these techniques in Bogor (our extensible software model-checking framework), and we present empirical data to support the effectiveness of these memory reductions on a collection of realistic examples and to demonstrate that they improve upon previous approaches. These techniques, formalized in a group theoretic framework, can be applied to any non-deterministic heap object diagram.
منابع مشابه
A Hybrid Meta-heuristic Approach to Cope with State Space Explosion in Model Checking Technique for Deadlock Freeness
Model checking is an automatic technique for software verification through which all reachable states are generated from an initial state to finding errors and desirable patterns. In the model checking approach, the behavior and structure of system should be modeled. Graph transformation system is a graphical formal modeling language to specify and model the system. However, modeling of large s...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملOn-the-Fly Dynamic Dead Variable Analysis
ON-THE-FLY DYNAMIC DEAD VARIABLE ANALYSIS Joel Self Department of Computer Science Master of Science State explosion in model checking continues to be the primary obstacle to widespread use of software model checking. The large input ranges of variables used in software is the main cause of state explosion. As software grows in size and complexity the problem only becomes worse. As such, model ...
متن کاملUsing Static and Dynamic Escape Analysis To Enable Model Reductions in Model-Checking Concurrent Object-Oriented Programs
This paper proposes several partial order reduction strategies for model-checking concurrent object-oriented software that are based on detecting heap objects that are thread-local, i.e., reachable from a single thread only. We show how thread-local information appropriate for driving these reductions can be obtained by static analysis (using adaptations of existing escape analyses). However, w...
متن کاملExploiting Object Escape and Locking Information in Partial-Order Reductions for Concurrent Object-Oriented Programs
Explicit-state model checking tools often incorporate partial-order reductions to reduce the number of system states explored (and thus the time and memory required) for verification. As model checking techniques are scaled up to software systems, it is important to develop and assess partial-order reduction strategies that are effective for addressing the complex structures found in software a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 89 شماره
صفحات -
تاریخ انتشار 2003